var disciplinas;

$(document).ready(function() {

    obterDisciplinas();

    function obterHash() {
        return '12345678';
    }

    function atualizarDisciplinas() {
        var html = '';

        for (var i in disciplinas) {
            html += '<li data-icon="false"><a href="#" class="mostrarNotas" id=' + disciplinas[i].id + '>' + disciplinas[i].nome + '</a></li>';
        }

        $('#disciplinas').html(html);
        $('.mostrarNotas').click(function() {
            var idDisciplina = $(this).attr('id');
            console.log(idDisciplina);
            obterNotas(idDisciplina);
            $.mobile.navigate('#notas');
        });
        $("#disciplinas").listview('refresh');
    }

    function atualizarNotas(notas) {
        var html = '';

        for (var i in notas) {
            html += ' <li data-icon="false"><a href="#" >' + notas[i].ordem + ' ' + notas[i].nome + ' ' + notas[i].nota + '</a></li>';
        }

        $('#listNotas').html(html);
        $("#listNotas").listview('refresh');
    }

    function obterDisciplinas() {

        if (!disciplinas) {
            var request = $.ajax({
                type: "GET",
                url: "http://"+webservice+"/boletim/" + obterHash(),
                dataType: 'json'
            });
            request.done(function(data) {
                if (data && !data.expirou) {
                    disciplinas = data.values;
                    atualizarDisciplinas();
                } else {
                    $.mobile.navigate('index.html');
                }
            });
            request.fail(function(jqXHR, status, exception) {
                console.log(jqXHR);
                console.log(status);
                console.log(exception);
                $.mobile.navigate('index.html');
            });
        } else {
            atualizarDisciplinas();
        }
    }

    function obterNotas(disciplina) {
        var request = $.ajax({
            type: "GET",
            url: "http://"+webservice+"/boletim/nota/" + disciplina + '/' + obterHash(),
            dataType: 'json'
        });
        request.done(function(data) {
            if (data && !data.expirou) {
                console.log(data.values);
                atualizarNotas(data.values);
            } else {
                $.mobile.navigate('index.html');
            }
        });
        request.fail(function(jqXHR, status, exception) {
            console.log(jqXHR);
            console.log(status);
            console.log(exception);
            $.mobile.navigate('index.html');
        });
    }
});